<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>kali工具箱</title>
<script src="./static/bootstrap.min.js"></script>
<link rel="stylesheet" href="./static/main.css">
<link rel="stylesheet" href="./static/bootstrap.min.css">
<style type="text/css" id="syntaxhighlighteranchor"></style>
</head>
<main class="main-container ng-scope" ng-view="">
<div class="main receptacle post-view ng-scope">
<article class="entry ng-scope" ng-controller="EntryCtrl" ui-lightbox="">
<section class="entry-content ng-binding" ng-bind-html="postContentTrustedHtml">
<section class="l-section"><div class="l-section-h i-cf"><h2>ddrescue Package Description</h2>
<p style="text-align: justify;">Like dd, dd_rescue does copy data from one file or block device to another. You can specify file positions (called seek and Skip in dd). There are several differences:</p>
<ul>
<li>dd_rescue does not provide character conversions.</li>
<li>The command syntax is different. Call dd_rescue -h.</li>
<li>dd_rescue does not abort on errors on the input file, unless you specify a maximum error number. Then dd_rescue will abort when this number is reached.</li>
<li>dd_rescue does not truncate the output file, unless asked to.</li>
<li>You can tell dd_rescue to start from the end of a file and move backwards.</li>
<li>It uses two block sizes, a large (soft) block size and a small (hard) block size. In case of errors, the size falls back to the small one and is promoted again after a while without errors.</li>
</ul>
<p>Source: http://www.garloff.de/kurt/linux/ddrescue/<br>
<a href="http://www.garloff.de/kurt/linux/ddrescue/" variation="deepblue" target="blank">ddrescue Homepage</a> | <a href="http://git.kali.org/gitweb/?p=packages/ddrescue.git;a=summary" variation="deepblue" target="blank">Kali ddrescue Repo</a></p>
<ul>
<li>Author: garloff</li>
<li>License: GPLv2</li>
</ul>
<h3>Tools included in the ddrescue package</h3>
<h5>dd_rescue – Copy data from one file or block device to another</h5>
<code><a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="b5c7dadac1f5ded4d9dc">[email&#160;protected]</a><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script>:~# dd_rescue -h<br>
<br>
dd_rescue Version 1.28, <a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="c5a2a4b7a9aaa3a385b6b0b6a0eba1a0">[email&#160;protected]</a><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script>, GNU GPL<br>
 ($Id: dd_rescue.c,v 1.130 2012/05/19 20:46:14 garloff Exp $)<br>
 (compiled Dec 15 2012 12:04:22 by gcc (Debian 4.7.2-4) 4.7.2)<br>
 (features: O_DIRECT splice )<br>
dd_rescue copies data from one file (or block device) to another.<br>
USAGE: dd_rescue [options] infile outfile<br>
Options: -s ipos    start position in  input file (default=0),<br>
         -S opos    start position in output file (def=ipos),<br>
         -b softbs  block size for copy operation (def=65536, 1048576 for -d),<br>
         -B hardbs  fallback block size in case of errs (def=4096, 512 for -d),<br>
         -e maxerr  exit after maxerr errors (def=0=infinite),<br>
         -m maxxfer maximum amount of data to be transfered (def=0=inf),<br>
         -y syncfrq frequency of fsync calls on outfile (def=512*softbs),<br>
         -l logfile name of a file to log errors and summary to (def=""),<br>
         -o bbfile  name of a file to log bad blocks numbers (def=""),<br>
         -r         reverse direction copy (def=forward),<br>
         -t         truncate output file (def=no),<br>
         -d/D       use O_DIRECT for input/output (def=no),<br>
         -k         use efficient in-kernel zerocopy splice<br>
         -w         abort on Write errors (def=no),<br>
         -a         spArse file writing (def=no),<br>
         -A         Always write blocks, zeroed if err (def=no),<br>
         -i         interactive: ask before overwriting data (def=no),<br>
         -f         force: skip some sanity checks (def=no),<br>
         -p         preserve: preserve ownership / perms (def=no),<br>
         -q         quiet operation,<br>
         -v         verbose operation,<br>
         -V         display version and exit,<br>
         -h         display this help and exit.<br>
Sizes may be given in units b(=512), k(=1024), M(=1024^2) or G(1024^3) bytes<br>
This program is useful to rescue data in case of I/O errors, because<br>
 it does not necessarily abort or truncate the output.</code>
<h3>dd_rescue Usage Example</h3>
<p>Start at position 100 of the input file <b><i>(-s 100 /var/log/messages)</i></b> and write, beginning at position 0 of the destination file <b><i>(-S 0 /tmp/ddrescue-out)</i></b>:</p>
<code><a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="1765787863577c767b7e">[email&#160;protected]</a><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script>:~# dd_rescue -s 100 /var/log/messages -S 0 /tmp/ddrescue-out<br>
dd_rescue: (info): Using softbs=65536, hardbs=4096<br>
dd_rescue: (info) expect to copy 1766kB from /var/log/messages<br>
dd_rescue: (info): ipos:      1024.1k, opos:      1024.0k, xferd:      1024.0k<br>
                   errs:      0, errxfer:         0.0k, succxfer:      1024.0k<br>
             +curr.rate:  1122807kB/s, avg.rate:  1018906kB/s, avg.load:  0.0%<br>
             &gt;.......................-.................&lt;  57%  ETA:  0:00:00 <br>
dd_rescue: (info): read /var/log/messages (1767.0k): EOF<br>
dd_rescue: (info): Summary for /var/log/messages -&gt; /tmp/ddrescue-out:<br>
dd_rescue: (info): ipos:      1767.0k, opos:      1767.0k, xferd:      1767.0k<br>
                   errs:      0, errxfer:         0.0k, succxfer:      1767.0k<br>
             +curr.rate:   352945kB/s, avg.rate:   568151kB/s, avg.load:  0.0%<br>
             &gt;.......................-................-&lt; 100%  ETA:  0:00:00</code>
</div></section><div style="display:none">
<script src="//s11.cnzz.com/z_stat.php?id=1260038378&web_id=1260038378" language="JavaScript"></script>
</div>
</main></body></html>
